const should = require('chai').Should()
const expect = require('chai').expect

const Stay = require('../classes/Stay')

describe('Stay', () => {
  
  const stay = new Stay('Regular: 16Mar2009(mon), 17Mar2009(tues), 18Mar2009(wed), 20Dez2018(sun)')

  describe('O método getClientType()', () => {
    it('Deve obter o tipo do cliente', () => {
      const clientType = stay.getClientType()
      clientType.should.be.a('string')
      clientType.should.equal('regular')
    })
  })

  describe('O método getTotalDays()', () => {
    it('Deve calcular a quantidade total de dias da semana informados na estadia', () => {
      const regularDays = stay.getTotalDays()
      expect(regularDays).to.be.equal(4)
      expect(regularDays).to.be.an('number')
    })
  })

  describe('O método getWeekendDays()', () => {
    it('Deve calcular a quantidade de dias de finais de semana informados na estadia', () => {
      const weekendDays = stay.getWeekendDays()
      expect(weekendDays).to.be.an('number')
      expect(weekendDays).to.be.equal(1)
    })
  })

  describe('O método isWeekend()', () => {
    it('Deve verificar se é final de semana', () => {
      const isWeekend = stay.isWeekend('wed')
      expect(isWeekend).not.equal(true)
    })
  })
})